package com.pow.service;

import com.pow.entity.Role;
import com.pow.entity.User;
import com.pow.util.FenyeUtil;

import java.util.List;

import org.springframework.data.domain.Pageable;

/**
 * @author 赵祺
 * @date 2020/4/13 16:41
 */
public interface UserService {
    /**
     * 分页模糊查询
     * @return
     */
    FenyeUtil<User> findAllPageByUser(User user, Pageable pageable, Integer page);

    /**
     * 添加、修改用户方法
     * @param user
     * @return
     */
    String AddAndUpdateUser(User user);

    /**
     * 删除用户方法
     * @param id
     * @return
     */
    String deleteUser(String id);
    /**
	 * 通过id查询该用户不含有的角色信息
	 * @param id,page
	 * @return 返回角色role集合
	 */
    FenyeUtil<Role> getNotRoleById(String id );
    /**
     * 执行 User_Role表的三个操作 
     * @param uid
     * @param rid
     */
    Integer commitUser_Role(String uid,String rid);
    /**
	 * 通过uid,rid来查当前用户是否拥有该角色
	 * @param uid
	 * @param rid
	 * @return 0没有 1有
	 */
    Integer  getUser_Role(String uid,String rid);
    /**
	 * 添加user和role
	 * @param uid
	 * @param rid
	 * @return 返回是否成功
	 */
    Integer addUser_Role(String uid,String rid);
    /**
	 * 删除之前选中但修改后未选择的信息
	 * @param uid
	 * @param rid
	 * @return 0或 1或大于1
	 */
    Integer deleteUser_Role(String uid ,String rid);
    /**
	 * 查询当前用户拥有的角色
	 * @param uid
	 * @return
	 */
    List<String> getRidsByUid(String uid);
}
